package main

import (
	"fmt"
	"github.com/yuin/gopher-lua"
)

func main() {
	L := lua.NewState()
	defer L.Close()
	if err := L.DoString(`
        a = 0xF0		-- 设置变量a的值为11110000(十六进制)
        b = 0x0F		-- 设置变量b的值为00001111(十六进制)
        c = band(a, b)	-- 使用band进行位与操作
        d = bor(a, b)	-- 使用bor进行位或操作
        e = bxor(a, b)	-- 使用bxor进行位异或操作
        f = bnot(a)	-- 使用bnot进行位取反操作
    `); err != nil {
		fmt.Println("Error running Lua script:", err)
		return
	}

	// 获取Lua中的变量值并打印
	global := L.GetGlobal("c")
	fmt.Println(global)
}
